<?php
namespace Home\Service;
use Think\Controller;
// +----------------------------------------------------------------------
// | Date:2017年3月14日
// +----------------------------------------------------------------------
// | Author: EK_熊<1439527494@qq.com>
// +----------------------------------------------------------------------
// | Description: 此文件作用于****
// +----------------------------------------------------------------------
class WechatService extends Controller{
    
    protected $base_url = 'http://wechat.idea.3xy.me/Wechat/Api/';
    protected $accode ='78d53979062e584600b7e0e1ab4ae638';
    protected $errmsg = '';
    protected $debug='';
    public function __construct(){
        $this->debug = C('API_ACCOUNT_DEBUG');
        if ($this->debug){
            $this->base_url = 'http://localhost/wxsys2016/index.php/Wechat/Api/';
        }
    }
    
    /**
     * 页面授权登录,是直接页面跳转即可
     * @param unknown $id   项目编号
     * date:2017年3月14日
     * author: EK_熊
     */
    public function authorize($id){
        $url = $apiUrl =$this->base_url.authorize."/accode/{$this->accode}/id/{$id}";
        redirect($url);
    }
    
    /**
     * 发送客户端，客服消息
     * @param unknown $openid    发送对象
     * @param unknown $content   文本内容
     * @return string|boolean
     * date:2017年3月14日
     * author: EK_熊
     */
    public function send_custom_message($openid,$content){
        $ret = $this->_request('send_custom_message',['openid'=>$openid,'content'=>$content]);
        return $ret;
    }
    
    
    /**
     * 发送模板消息
     * @param unknown $openid
     * @param unknown $data
     * @param unknown $templateId
     * date:2017年3月15日
     * author: EK_熊
     */
    public function send_template_message($openid='',$data='',$tpl_id='',$url=''){
        if (!$openid){
            $this->errmsg = '获取不到合法的openid,停止发送!!';
            return false;
        }
        $ret = $this->_request('send_template_message',['tpl_id'=>$tpl_id,'open_id'=>$openid,'data'=>urlencode(json_encode($data)),'url'=>$url]);
        return $ret;
    }
    
    
    public function user_info($aucode){
        $ret = $this->_request('user_info',['aucode'=>$aucode]);
        if ($ret) return $ret['data'];
        return $ret;        
    }
    
    
    
    /**
     * 从内部登录访问系统获取对应的用户数据
     * @param unknown $actionname
     * @param unknown $field
     * date:2016年12月28日
     * author: EK_熊
     */
    public function _request($actionname,$fields=[]){
        $apiUrl =$this->base_url.$actionname."/accode/{$this->accode}".'?';
        $curl = new \Curl();
        $result = $curl->post($apiUrl,$fields);
        if (!$result) return '接口请求错误！';
        $resultAry =  json_decode($result,true);
        if ($resultAry['error'] !== 0) {
            $this->errmsg = $resultAry['info'];
            return false;
        }
        return $resultAry;
    }

    
    /**
     * 获取错误信息
     * @return string|unknown
     * date:2017年1月12日
     * author: EK_熊
     */
    public function getError(){
        return $this->errmsg;
    }
    
}